package com.gopay.common.domain.cps.vo;

import java.math.BigDecimal;
import java.util.Date;

import com.gopay.common.domain.cbrmb.internationalcard.CbRmbWildCardAssistDtl;
import com.gopay.common.domain.cps.CpsGenMainOrder;
import com.gopay.common.util.DateUtils;

/**
 * @ClassName: FullCpsIntlCardAssistOrder 
 * @Description:  外卡辅助类订单
 * @author huangcheng 
 * @date 2017年11月7日 下午1:47:04
 */
public class FullCpsIntlCardAssistOrder extends CpsGenOrder {


    private static final long serialVersionUID = -6678073606470605421L;

    private Long cbRmbWildCardSq;

    private String upperOrderId;

    private BigDecimal wildCardTranAmt;

    private String wildCardTranCur;

    private BigDecimal wildCardTranRate;

    private Date wildCardPayFinishTime;

    private BigDecimal quotaAmt;

    private Date wildCardSettleTime;

    private BigDecimal wildCardHaveDepositAmt;

    private BigDecimal upperSettleAmt;

    private BigDecimal upperFeeAmt;

    private BigDecimal upperDepositAmt;

    private Date createTime;

    private int version;

    private String remark1;

    private String wildCardPayStatus;

    private Date updateTime;

    private BigDecimal wildCardInitDepositAmt;

    private BigDecimal refundedQuotaAmt;
    
    private String settleFlag;
    
    /**
     * 对账次数
     */
    private int checkCount=0;

	public FullCpsIntlCardAssistOrder() {

	}

	public FullCpsIntlCardAssistOrder(CpsGenMainOrder main, CbRmbWildCardAssistDtl assist) {
		setGopayOrderId(main.getGopayOrderId());
		setTransDtlSq(main.getTransDtlSq());
		setGopayIntTxnCd(main.getGopayIntTxnCd());
		setMerId(main.getMerId());
		setMerOrderId(main.getMerOrderId());
		setMerTxnTm(main.getMerTxnTm());
		setGatewaySource(main.getGatewaySource());
		setGatewayChannel(main.getGatewayChannel());
		setOrderType(main.getOrderType());
		setPayChannel(main.getPayChannel());
		setGopayTxnTm(main.getGopayTxnTm());
		setRelevanceGopayOrderId(main.getRelevanceGopayOrderId());
		setTotalOrderAmt(main.getTotalOrderAmt());
		setTotalOrderFeeAmt(main.getTotalOrderFeeAmt());
		setOrderDealAmt(main.getOrderDealAmt());
		setOrderRealFeeAmt(main.getOrderRealFeeAmt());
		setOrderFeePayer(main.getOrderFeePayer());
		setCurType(main.getCurType());
		setMainRecvAcct(main.getMainRecvAcct());
		setMainRecvAcctProdCode(main.getMainRecvAcctProdCode());
		setMainRecvAcctProdName(main.getMainRecvAcctProdName());
		setMainRecvCustId(main.getMainRecvCustId());
		setPayAcct(main.getPayAcct());
		setMainPayAcctProdCode(main.getMainPayAcctProdCode());
		setMainPayAcctProdName(main.getMainPayAcctProdName());
		setPayCustId(main.getPayCustId());
		setTxnStaCd(main.getTxnStaCd());
		setOutStlmId(main.getOutStlmId());
		setOutPayAcct(main.getOutPayAcct());
		setTranFinishTime(main.getTranFinishTime());
		setOrderStlmTime(main.getOrderStlmTime());
		setLastUpdTrancode(main.getLastUpdTrancode());
		setRemark1(main.getRemark1());
		setRemark2(main.getRemark2());
		setMerTxnAmt(main.getMerTxnAmt());
		setReversalFlag(main.getReversalFlag());

		setAccountPoint(main.getAccountPoint());
		// 系统加固 结算金额 zhg.zhang 20160712
		setSettleAmt(main.getSettleAmt());
		setOtherAcct(main.getOtherAcct());
        this.cbRmbWildCardSq = assist.getCbRmbWildCardSq();
        this.upperOrderId = assist.getUpperOrderId();
        this.wildCardTranAmt = assist.getWildCardTranAmt();
        this.wildCardTranCur = assist.getWildCardTranCur();
        this.wildCardTranRate = assist.getWildCardTranRate();
        this.wildCardPayFinishTime = assist.getWildCardPayFinishTime();
        this.quotaAmt = assist.getQuotaAmt();
        this.wildCardSettleTime = assist.getWildCardSettleTime();
        this.wildCardHaveDepositAmt = assist.getWildCardHaveDepositAmt();
        this.upperSettleAmt = assist.getUpperSettleAmt();
        this.upperFeeAmt = assist.getUpperFeeAmt();
        this.upperDepositAmt = assist.getUpperDepositAmt();
        this.createTime = assist.getCreateTime();
        this.version = assist.getVersion();
        this.remark1 = assist.getRemark1();
        this.wildCardPayStatus = assist.getWildCardPayStatus();
        this.updateTime = assist.getUpdateTime();
        this.wildCardInitDepositAmt = assist.getWildCardInitDepositAmt();
        this.refundedQuotaAmt = assist.getRefundedQuotaAmt();
        this.checkCount = assist.getCheckCount();
        this.settleFlag = assist.getSettleFlag();
	}

	public CpsGenMainOrder getCpsGenMainOrder() {
		CpsGenMainOrder main = new CpsGenMainOrder();
		main.setGopayOrderId(getGopayOrderId());
		main.setTransDtlSq(getTransDtlSq());
		main.setGopayIntTxnCd(getGopayIntTxnCd());
		main.setMerId(getMerId());
		main.setMerOrderId(getMerOrderId());
		main.setMerTxnTm(getMerTxnTm());
		main.setGatewaySource(getGatewaySource());
		main.setGatewayChannel(getGatewayChannel());
		main.setOrderType(getOrderType());
		main.setPayChannel(getPayChannel());
		main.setGopayTxnTm(getGopayTxnTm());
		main.setRelevanceGopayOrderId(getRelevanceGopayOrderId());
		main.setTotalOrderAmt(getTotalOrderAmt());
		main.setTotalOrderFeeAmt(getTotalOrderFeeAmt());
		main.setOrderDealAmt(getOrderDealAmt());
		main.setOrderRealFeeAmt(getOrderRealFeeAmt());
		main.setOrderFeePayer(getOrderFeePayer());
		main.setCurType(getCurType());
		main.setMainRecvAcct(getMainRecvAcct());
		main.setMainRecvAcctProdCode(getMainRecvAcctProdCode());
		main.setMainRecvAcctProdName(getMainRecvAcctProdName());
		main.setMainRecvCustId(getMainRecvCustId());
		main.setPayAcct(getPayAcct());
		main.setMainPayAcctProdCode(getMainPayAcctProdCode());
		main.setMainPayAcctProdName(getMainPayAcctProdName());
		main.setPayCustId(getPayCustId());
		main.setTxnStaCd(getTxnStaCd());
		main.setOutStlmId(getOutStlmId());
		main.setOutPayAcct(getOutPayAcct());
		main.setTranFinishTime(getTranFinishTime());
		main.setOrderStlmTime(getOrderStlmTime());
		main.setCreatedTs(DateUtils.getSystemDate());
		main.setLastUpdTs(DateUtils.getSystemDate());
		main.setLastUpdTrancode(getLastUpdTrancode());
		main.setRemark1(getRemark1());
		main.setRemark2(getRemark2());
		main.setMerTxnAmt(getMerTxnAmt());
		main.setAccountPoint(getAccountPoint());
		main.setReversalFlag(getReversalFlag());
		// 系统加固 结算金额 zhg.zhang 20160712
		main.setSettleAmt(getSettleAmt());
		main.setOtherAcct(getOtherAcct());
		return main;
	}

	public CbRmbWildCardAssistDtl getCbRmbWildCardAssistDtl() {
		CbRmbWildCardAssistDtl assist = new CbRmbWildCardAssistDtl();
		assist.setCbRmbWildCardSq(cbRmbWildCardSq);
		assist.setGopayOrderId(getGopayOrderId());
		assist.setUpperOrderId(upperOrderId);
		assist.setWildCardTranAmt(wildCardTranAmt);
		assist.setWildCardTranCur(wildCardTranCur);
		assist.setWildCardTranRate(wildCardTranRate);
		assist.setWildCardPayFinishTime(wildCardPayFinishTime);
		assist.setQuotaAmt(quotaAmt);
		assist.setWildCardSettleTime(wildCardSettleTime);
		assist.setWildCardHaveDepositAmt(wildCardHaveDepositAmt);
		assist.setUpperSettleAmt(upperSettleAmt);
		assist.setUpperFeeAmt(upperFeeAmt);
		assist.setUpperDepositAmt(upperDepositAmt);
		assist.setCreateTime(createTime);
		assist.setVersion(version);
		assist.setRemark1(remark1);
		assist.setWildCardPayStatus(wildCardPayStatus);
		assist.setUpdateTime(updateTime);
		assist.setWildCardInitDepositAmt(wildCardInitDepositAmt);
		assist.setRefundedQuotaAmt(refundedQuotaAmt);
		assist.setCheckCount(checkCount);
		assist.setSettleFlag(settleFlag);
		return assist;
	}

    public Long getCbRmbWildCardSq() {
        return cbRmbWildCardSq;
    }

    public void setCbRmbWildCardSq(Long cbRmbWildCardSq) {
        this.cbRmbWildCardSq = cbRmbWildCardSq;
    }

    public String getUpperOrderId() {
        return upperOrderId;
    }

    public void setUpperOrderId(String upperOrderId) {
        this.upperOrderId = upperOrderId;
    }

    public BigDecimal getWildCardTranAmt() {
        return wildCardTranAmt;
    }

    public void setWildCardTranAmt(BigDecimal wildCardTranAmt) {
        this.wildCardTranAmt = wildCardTranAmt;
    }

    public String getWildCardTranCur() {
        return wildCardTranCur;
    }

    public void setWildCardTranCur(String wildCardTranCur) {
        this.wildCardTranCur = wildCardTranCur;
    }

    public BigDecimal getWildCardTranRate() {
        return wildCardTranRate;
    }

    public void setWildCardTranRate(BigDecimal wildCardTranRate) {
        this.wildCardTranRate = wildCardTranRate;
    }

    public Date getWildCardPayFinishTime() {
        return wildCardPayFinishTime;
    }

    public void setWildCardPayFinishTime(Date wildCardPayFinishTime) {
        this.wildCardPayFinishTime = wildCardPayFinishTime;
    }

    public BigDecimal getQuotaAmt() {
        return quotaAmt;
    }

    public void setQuotaAmt(BigDecimal quotaAmt) {
        this.quotaAmt = quotaAmt;
    }

    public Date getWildCardSettleTime() {
        return wildCardSettleTime;
    }

    public void setWildCardSettleTime(Date wildCardSettleTime) {
        this.wildCardSettleTime = wildCardSettleTime;
    }

    public BigDecimal getWildCardHaveDepositAmt() {
        return wildCardHaveDepositAmt;
    }

    public void setWildCardHaveDepositAmt(BigDecimal wildCardHaveDepositAmt) {
        this.wildCardHaveDepositAmt = wildCardHaveDepositAmt;
    }

    public BigDecimal getUpperSettleAmt() {
        return upperSettleAmt;
    }

    public void setUpperSettleAmt(BigDecimal upperSettleAmt) {
        this.upperSettleAmt = upperSettleAmt;
    }

    public BigDecimal getUpperFeeAmt() {
        return upperFeeAmt;
    }

    public void setUpperFeeAmt(BigDecimal upperFeeAmt) {
        this.upperFeeAmt = upperFeeAmt;
    }

    public BigDecimal getUpperDepositAmt() {
        return upperDepositAmt;
    }

    public void setUpperDepositAmt(BigDecimal upperDepositAmt) {
        this.upperDepositAmt = upperDepositAmt;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public int getVersion() {
        return version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    public String getRemark1() {
        return remark1;
    }

    public void setRemark1(String remark1) {
        this.remark1 = remark1;
    }

    public String getWildCardPayStatus() {
        return wildCardPayStatus;
    }

    public void setWildCardPayStatus(String wildCardPayStatus) {
        this.wildCardPayStatus = wildCardPayStatus;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public BigDecimal getWildCardInitDepositAmt() {
        return wildCardInitDepositAmt;
    }

    public void setWildCardInitDepositAmt(BigDecimal wildCardInitDepositAmt) {
        this.wildCardInitDepositAmt = wildCardInitDepositAmt;
    }

    public BigDecimal getRefundedQuotaAmt() {
        return refundedQuotaAmt;
    }

    public void setRefundedQuotaAmt(BigDecimal refundedQuotaAmt) {
        this.refundedQuotaAmt = refundedQuotaAmt;
    }

    public int getCheckCount() {
        return checkCount;
    }

    public void setCheckCount(int checkCount) {
        this.checkCount = checkCount;
    }

    public String getSettleFlag() {
        return settleFlag;
    }

    public void setSettleFlag(String settleFlag) {
        this.settleFlag = settleFlag;
    }

	
}
